﻿using HongStone.Domain.AttendanceManagement;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HongStone.Ince
{
    /// <summary>
    /// 考勤管理接口
    /// </summary>
    public interface AttendanceInce
    {
        /// <summary>
        /// 添加申请(请假)
        /// </summary>
        /// <returns></returns>
        public int AddClocking_inApplyFo(Clocking_inApplyFo model);

        /// <summary>
        /// 显示待审批状态
        /// </summary>
        /// <returns></returns>
        public List<Clocking_inApplyFo> GetClocking_inApplyFo();

        /// <summary>
        ///获取数据
        /// </summary>
        /// <param name="ApplyForId"></param>
        /// <returns></returns>
        public List<Clocking_inApplyFo> EditClocking_inApplyFo(int ApplyForId);

        /// <summary>
        /// 请假申请列表
        /// </summary>
        /// <param name="ApplyName"></param>
        /// <param name="ShiJian"></param>
        /// <param name="Clocking_inState"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public List<Clocking_inApplyFo> GetQing(string ApplyName, string ShiJian, string Clocking_inState, int pageIndex, int pageSize, out int totalCount, string ZhuangTai, int ApplyForTpe);

        /// <summary>
        /// 修改状态
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int UpdateQing01(int ApplyForId);

        /// <summary>
        /// 修改状态（请假申请）
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int UpdateQing02(int ApplyForId);

        /// <summary>
        /// 批量删除（请假申请）
        /// </summary>
        /// <returns></returns>
        public int DeleteQing(string ids);

        /// <summary>
        /// 反填（请假管理）
        /// </summary>
        /// <returns></returns>
        public Clocking_inApplyFo EditQing(int ApplyForId);

        /// <summary>
        /// 请假修改
        /// </summary>
        /// <returns></returns>
        public int UpdateQing(Clocking_inApplyFo model);
    }
}
